# 作者: 赵若云
# 2025年02月18日16时38分49秒
# 3478783573@qq.com


def homework4():
    """
    1~100 奇数求和
    :return:
    """
    print(sum([x for x in range(1, 101) if x % 2 == 1]))


def homework5():
    """
    九九乘法表
    :return:
    """
    for i in range(1, 10):
        for j in range(1, i + 1):
            print(f'{j}*{i}={j * i:<3d}', end="")  # 3d——占三个格子,<是左对齐
        print()


def homework6_1():
    """
    统计一个整数对应的二进制数的1的个数。输入一个整数（可正可负，负数就按64位去遍历即可）， 输出该整数的二进制包含1的个数（使用位运算）
    :return:
    """
    num = int(input('请输入一个整数'))
    if num >= 0:
        print(bin(num).count('1'))


def homework6_2():
    """
    与homework_1相同
    :return:
    """
    num = int(input('请输入一个整数'))
    if num >= 0:
        print(bin(num).count('1'))
    else:
        print(64 - bin(~num).count('1'))


def homework6_3():
    """
    与homework_1相同
    :return:
    """
    num = int(input('请输入一个整数'))
    count = 0  # 记录1的个数
    check_flag = 1
    for i in range(64):
        if num & check_flag:
            count += 1
        check_flag <<= 1
    print(count)


# homework4()
# homework5()
homework6_3()
